''========================================================
'' Autor: 		Luis Antonio Lara Capetillo
'' Fecha Creación: 	26/12/2012
'' Descripcion: 	Clase Componente ctlFondeoBuque
''========================================================

Public Class ctlFondeoBuque
  Inherits System.Web.UI.UserControl
	
#Region "Propiedades"
  ''' <summary>
  ''' Obtiene o estable el valor NombreBuque del TextBox txtNombreBuque
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property NidNombreBuque() As String
    Get
      Return Me.hfNombreBuque.Value
    End Get
    Set(value As String)
      Me.hfNombreBuque.Value = value
    End Set
  End Property
  ''' <summary>
  ''' Obtiene o estable el valor NombreBuque del TextBox txtNombreBuque
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property NombreBuque() As String
    Get
      Return Me.txtNombreBuque.Text
    End Get
    Set(value As String)
      Me.txtNombreBuque.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Bandera del TextBox txtBandera
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Bandera() As String
    Get
      Return Me.txtBandera.Text
    End Get
    Set(value As String)
      Me.txtBandera.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Puerto_Procedencia del TextBox txtPuerto_Procedencia
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property NidPuerto_Procedencia() As String
    Get
      Return Me.hfPuerto_Procedencia.Value
    End Get
    Set(value As String)
      Me.hfPuerto_Procedencia.Value = value
    End Set
  End Property
  ''' <summary>
  ''' Obtiene o estable el valor Puerto_Procedencia del TextBox txtPuerto_Procedencia
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Puerto_Procedencia() As String
    Get
      Return Me.txtPuerto_Procedencia.Text
    End Get
    Set(value As String)
      Me.txtPuerto_Procedencia.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Puerto_Destino del TextBox txtPuerto_Destino
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property NidPuerto_Destino() As String
    Get
      Return Me.hfPuerto_Destino.Value
    End Get
    Set(value As String)
      Me.hfPuerto_Destino.Value = value
    End Set
  End Property
  ''' <summary>
  ''' Obtiene o estable el valor Puerto_Destino del TextBox txtPuerto_Destino
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Puerto_Destino() As String
    Get
      Return Me.txtPuerto_Destino.Text
    End Get
    Set(value As String)
      Me.txtPuerto_Destino.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Capitan del TextBox txtCapitan
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Capitan() As String
    Get
      Return Me.txtCapitan.Text
    End Get
    Set(value As String)
      Me.txtCapitan.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Color_Casco del TextBox txtColor_Casco
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Color_Casco() As String
    Get
      Return Me.txtColor_Casco.Text
    End Get
    Set(value As String)
      Me.txtColor_Casco.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Tipo_Buque del TextBox txtTipo_Buque
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property NidTipo_Buque() As String
    Get
      Return Me.hfTipo_Buque.Value
    End Get
    Set(value As String)
      Me.hfTipo_Buque.Value = value
    End Set
  End Property
  ''' <summary>
  ''' Obtiene o estable el valor Tipo_Buque del TextBox txtTipo_Buque
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Tipo_Buque() As String
    Get
      Return Me.txtTipo_Buque.Text
    End Get
    Set(value As String)
      Me.txtTipo_Buque.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Tipo_Carga del TextBox txtTipo_Carga
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Tipo_Carga() As String
    Get
      Return Me.txtTipo_Carga.Text
    End Get
    Set(value As String)
      Me.txtTipo_Carga.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene el nid de la opcion seleccionada
  ''' </summary>
  ''' <value></value>
  ''' <returns>numero de nid seleccionado</returns>
  ''' <remarks></remarks>
  Public ReadOnly Property NidCodigo_Pbip() As Int32
    Get
      If cbxCodigo_Pbip.SelectedValue = "- Seleccione una opcion -" Then
        Return 0
      Else
        Return CInt(cbxCodigo_Pbip.SelectedValue)
      End If
    End Get
  End Property
  ''' <summary>
  ''' Obtiene el nombre de la opcion seleccionada
  ''' </summary>
  ''' <value></value>
  ''' <returns>nombre de la opcion seleccionada</returns>
  ''' <remarks></remarks>
  Public ReadOnly Property NombreCodigo_Pbip() As String
    Get
      If cbxCodigo_Pbip.SelectedItem.Text = "- Seleccione una opcion -" Then
        Return ""
      Else
        Return cbxCodigo_Pbip.SelectedItem.Text
      End If
    End Get
  End Property

  ''' <summary>
  ''' Obtiene o establece el valor ETA del TextBox txtETA
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property ETA() As String
    Get
      Return Me.txtETA.Text
    End Get
    Set(value As String)
      Me.txtETA.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o establece el valor ETF del TextBox txtETF
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property ETF() As String
    Get
      Return Me.txtETF.Text
    End Get
    Set(value As String)
      Me.txtETF.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Justificacion del TextBox txtJustificacion
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Justificacion() As String
    Get
      Return Me.txtJustificacion.Text
    End Get
    Set(value As String)
      Me.txtJustificacion.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Observaciones del TextBox txtObservaciones
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Observaciones() As String
    Get
      Return Me.txtObservaciones.Text
    End Get
    Set(value As String)
      Me.txtObservaciones.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Servicio del TextBox txtServicio
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Servicio() As String
    Get
      Return Me.txtServicio.Text
    End Get
    Set(value As String)
      Me.txtServicio.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Pago del TextBox txtPago
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Pago() As String
    Get
      Return Me.txtPago.Text
    End Get
    Set(value As String)
      Me.txtPago.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Habilita o Desabilita el Control para Edicion
  ''' </summary>
  ''' <value>True o False</value>
  ''' <remarks></remarks>
  Public WriteOnly Property Enabled() As Boolean
    Set(value As Boolean)
	  txtNombreBuque.Enabled=value
      txtBandera.Enabled=value
      txtPuerto_Procedencia.Enabled=value
      txtPuerto_Destino.Enabled=value
      txtCapitan.Enabled=value
      txtColor_Casco.Enabled=value
      txtTipo_Buque.Enabled=value
      txtTipo_Carga.Enabled=value
      cbxCodigo_Pbip.Enabled=value
      txtETA.Enabled=value
      txtETF.Enabled=value
      txtJustificacion.Enabled=value
      txtObservaciones.Enabled=value
      txtServicio.Enabled=value
      txtPago.Enabled=value
      
    End Set
  End Property

  ''' <summary>
  ''' Habilita o Desabilita el Control para solo lectura
  ''' </summary>
  ''' <value>True o False</value>
  ''' <remarks>ReadOnly</remarks>
  Public WriteOnly Property Lectura() As Boolean
    Set(value As Boolean)
	  txtNombreBuque.ReadOnly=value
      txtBandera.ReadOnly=value
      txtPuerto_Procedencia.ReadOnly=value
      txtPuerto_Destino.ReadOnly=value
      txtCapitan.ReadOnly=value
      txtColor_Casco.ReadOnly=value
      txtTipo_Buque.ReadOnly=value
      txtTipo_Carga.ReadOnly=value
      cbxCodigo_Pbip.ReadOnly=value
      txtETA.ReadOnly=value
      txtETF.ReadOnly=value
      txtJustificacion.ReadOnly=value
      txtObservaciones.ReadOnly=value
      txtServicio.ReadOnly=value
      txtPago.ReadOnly=value
      
    End Set
  End Property


#End Region
#Region "Eventos"
  Protected Sub btnNombreBuque_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles btnNombreBuque.Click
    
  End Sub

  Protected Sub btnPuerto_Procedencia_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles btnPuerto_Procedencia.Click
    
  End Sub

  Protected Sub btnPuerto_Destino_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles btnPuerto_Destino.Click
    
  End Sub

  Protected Sub btnTipo_Buque_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles btnTipo_Buque.Click
    
  End Sub

  Protected Sub ?NomComponente_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles ?NomComponente.SelectedIndexChanged
    
  End Sub


#End Region

#Region "Metodos"
  ''' <summary>
  ''' Metodo para llenar cbxCodigo_Pbip con datos de un DataTable y seleciona el primero
  ''' </summary>
  ''' <param name="data"> Tabla con los datos</param>
  ''' <param name="nombre">Nombre de la columna de los nombres</param>
  ''' <param name="nid"> Nombre de la columna con los nid</param>
  ''' <remarks></remarks>
  Public Sub llenarcbxCodigo_Pbip(ByVal data As DataTable, ByVal nombre As String, ByVal nid As String)
    Me.cbxCodigo_Pbip.DataSource = data
    Me.cbxCodigo_Pbip.DataTextField = nombre.ToString
    Me.cbxCodigo_Pbip.DataValueField = nid.ToString
    Me.cbxCodigo_Pbip.DataBind()
    Me.cbxCodigo_Pbip.Items.Add("- Seleccione una opcion -")
    Me.cbxCodigo_Pbip.SelectedIndex = Me.cbxCodigo_Pbip.Items.Count - 1
  End Sub

  ''' <summary>
  ''' Metodo para asignar los datos al componente ctlTurismo
  ''' </summary>
  ''' <param name="tablaDatos">DataTable donde se obtienen los datos</param>
  ''' <remarks></remarks>
  Public Sub AsignarDatos(ByVal tablaDatos As DataTable)
    Me.txtNombreBuque.Text= tablaDatos.Rows(0)("NombreBuque").ToString
    Me.txtBandera.Text= tablaDatos.Rows(0)("Bandera").ToString
    Me.txtPuerto_Procedencia.Text= tablaDatos.Rows(0)("Puerto_Procedencia").ToString
    Me.txtPuerto_Destino.Text= tablaDatos.Rows(0)("Puerto_Destino").ToString
    Me.txtCapitan.Text= tablaDatos.Rows(0)("Capitan").ToString
    Me.txtColor_Casco.Text= tablaDatos.Rows(0)("Color_Casco").ToString
    Me.txtTipo_Buque.Text= tablaDatos.Rows(0)("Tipo_Buque").ToString
    Me.txtTipo_Carga.Text= tablaDatos.Rows(0)("Tipo_Carga").ToString
    Me.txtETA.Text= tablaDatos.Rows(0)("ETA").ToString
    Me.txtETF.Text= tablaDatos.Rows(0)("ETF").ToString
    Me.txtJustificacion.Text= tablaDatos.Rows(0)("Justificacion").ToString
    Me.txtObservaciones.Text= tablaDatos.Rows(0)("Observaciones").ToString
    Me.txtServicio.Text= tablaDatos.Rows(0)("Servicio").ToString
    Me.txtPago.Text= tablaDatos.Rows(0)("Pago").ToString
    
  End Sub
#End Region

End Class
